High integrity transport for time critical multimedia networking applications

ABSTRACT

A method is provided for recovery of lost cells in a telecommunications infrastructure such as an ATM network wherein an error recovery scheme is incorporated into the network infrastructure to allow recovery of cells along the network.

This application is a cip of Ser. No. 08/429,942 filed Apr. 27, 1995, now abandoned.

BACKGROUND OF THE INVENTION

A major concern in any communication network is the control of transmission errors. Redundancy is the basis of error control. Automatic Repeat Request (ARQ) schemes are often preferred to Forward Error Correction (FEC) schemes because they are easy to implement and show superior performance at low bit-error rates. The throughput rate of an ARQ scheme strongly depends on the number of requested retransmissions and this falls rapidly with increasing bit error rate (BER). For applications involving real-time video and voice over very high speed networks, ARQ-based schemes impose an unacceptably long transmission delay. The problem is more acute if the data paths are fairly long, as in wide area networks (WANs). On the other hand, since FEC has no retransmissions, the throughput rate of FEC schemes is more or less constant, set by the code rate and to a large extent, independent of the channel error probability. Recovering lost data reduces the need for data retransmissions and enhances the quality of real-time application (video and voice) that cannot rely on acknowledgments (ACKs) and retransmissions because of the large delays involved.

High speed networks, such as Asynchronous Transfer Mode (ATM) and other WANs, are based on the fiber-optic links with very low bit error rates, typically from 10⁻¹⁰ to 10⁻¹⁴, over long distance fiber cable. The main cause of data loss in these networks is buffer overflow during congestion, rather than bit errors. In ATM networks, low priority cells are dropped first in the event of congestion. Since a lost cell is just a block of bits in error, essentially some form of FEC is needed.

At present, apart from the techniques of error concealment, there is only the recommendation of the International Telecommunications Union (ITU-T) for error recovery in ATM transmission. ITU-T recommendation I.363 `B-ISDN ATM Adaptation Layer Specification` Rev 1 Geneva 1993. This technique uses either a (128,124) Reed-Solomon (R-S) Forward Error Correction (FEC) method with interleaving or a (94,88) R-S code with interleaving. The first method recovers 4 lost cells in a group of 128 with a 3.1% overhead, while the second can recover 1 lost cell in a group of 16 with a 6.8% overhead. These techniques are specifically for end-end recovery.

SUMMARY OF THE INVENTION

Most high speed networks use or will be using the Asynchronous Transfer Mode (ATM) technique. In this technique, all digital data are segmented into groups of 44 bytes. Each of these segments has 2 bytes each, appended before and after, resulting in a 48 octet payload. The data link protocol adds an additional 5 byte header containing the routing information to form the final ATM cell. While the links are relatively error free, there is always potential for cells to be dropped by the network due to congestion. This may occur at switches or elsewhere.

In the present invention, a method is provided for recovering lost cells whereby the ATM adaptation layer is capable of selectively implementing an error recovery scheme if required. In this method, the ATM layer may either insert or delete the recovery cells, depending upon the data being transmitted. For example, if voice data is being transmitted, one may choose not to insert the cells since occasional lost cells do not cause significant loss of quality. However, for more sensitive data such as video data, the ATM layer can insert the recovery cells. The present invention also allows for the recovery of lost cells along the network itself without having to wait until the cells reach their destination.

The implementation of the cell loss recovery method of the present invention is applicable to both random cell losses and burst cell losses which occur in any telecommunication infrastructure including, but not limited to, all packet networks, ATM networks, wireless networks and ISDN and other conventional networks. The cells are recovered if the cells are lost in the network due to congestion or resource failures. The cells are also recovered when they are detected as being in error due to, for example, channel noise. If the loss recovery has to correct the cells that are in error, then the system requires the ability to detect at least a single bit in error in each cell. Recovery of a cell detected as being in error is achieved by discarding the received errored cell and replacing the cell with a cell that has been computed by the cell loss recovery method.

BRIEF DESCRIPTION OF FIGURES

FIG. 1 provides a schematic showing the formation of vertical parity which is used in the method of recovery of one lost packet.

FIG. 2 provides-a schematic showing the formation of diagonal parity which is used in the method of recovery of more than one lost packet.

FIG. 3 provides a diagram depicting endpoint recovery wherein the overhead cells are created at the source end point and lost cells are recovered at the destination point.

FIG. 4 provides a diagram depicting the application in the network. In this embodiment, the recovery can be implemented at the ATM layer or at the AAL1 or AAL5 layers. A specific network node (intermediate node) generates the overhead cells and at a specific downstream node recovers the lost cells.

DETAILED DESCRIPTION OF THE INVENTION

In the present invention, a method for recovering lost cells in a telecommunication infrastructure is provided. By "telecommunication infrastructure" it is meant to include, but is not limited to, all packet networks, ATM networks, wireless networks and ISDN and other conventional networks.

For example, in one embodiment, an ATM network is provided wherein the ATM adaptation layer is capable of selectively implementing an error recovery scheme. The method uses a set of parity data that is determined based upon user data. User data as well as parity data is formed into ATM cells of appropriate size. Whenever one or more of these cells becomes lost, the ATM adaptation layer can selectively implement the error recovery scheme to recover lost data. In addition, a technique for identifying errors in the cell can be incorporated for use in correction of a cell that is received with errors. With this technique, a cell with errors can be identified, discarded, and recovered with the correct information as though it had been lost. Error identifying techniques are well known to those of skill in the art.

In accordance with the method of the invention, a data packet is grouped into blocks of predetermined size. Parity packets that contain the error-control bits are then added to each block. The number of parity packets and their construction determines the maximum number of data packets that can be recovered. One packet can be recovered from the block protected by a single vertical parity packet. To recover more packets in a block, more control data must be added. To create a block with two-packet recovery capability, the vertical and diagonal parity must be added to each block. The number of lost packets recovered and the marginal increase in a data rate must be considered in making the determination of the number of parity packets and their construction.

As an example, the transmission of image data over ATM networks using a method like subband coding has now been performed. The division of images into subbands is accomplished by the use of a single stage of lowpass/highpass operation in each direction resulting in a total of four subbands. That is, the 512×512-pixel image is divided into 4 subbands in 2 dimensions each with a size of 256×256. After the subbands are encoded by using the Adaptive Delta Modulation (ADM), they are packetized for the use in an ATM network. Since an ATM cell contains 53 octets, with 48 of these being data, the frame (256×256) is broken into the appropriate number of 48 octet units for transmission.

The encoded data is packetized into ATM cells of 48 octets for transmission. Appropriate parity bits are computed and these are also grouped into ATM cells for transmission. In order to recover a single packet, a vertical parity cell must be added to each block of k cells. The vertical parity packet P_(pi) is generated by the following rule: ##EQU1## where _(ji) is the i-th bit of the j-th packet and P_(pi) is the sum modulo 2 of the bits in the i-th column.

A method of recovering one lost packet is shown in FIG. 1. If the vertical parity is formed as the bit by bit ⊕ in each position, the vertical parity packet (P_(p)) can be determined as

    P.sub.p D.sub.1 ⊕D.sub.2 ⊕D.sub.3 ⊕D.sub.4

such that

    P.sub.pj =d.sub.1j ⊕d.sub.2j ⊕d.sub.3j ⊕d.sub.4j j=1,2, . . . 5

Therefore, if packet D₃ is missing from a block, it can be recovered as:

    D.sub.3 =P.sub.p ⊕D.sub.1 ⊕D.sub.2 ⊕D.sub.4

When a block protected by a single vertical parity packet is received with two or more packets missing, none of those packets can be recovered. In addition to the vertical parity, diagonal parity is formed as shown in FIG. 2. To recover two packets in a block, a diagonal parity packet (the bits of which are the modulo-2 sums of bits along block diagonals) is also formed. The diagonal parity packet has m+K bits, compared to m bits in a data or vertical parity packet. One vertical parity cell with m bits and the diagonal cell with m+K bits are used by the receiver to recover two missing cells.

The diagonal packet P_(d) in this case contains 9 elements as shown in FIG. 2. The diagonal parities are determined as follows:

    P.sub.d1 =d.sub.11, P.sub.d2 =d.sub.12 ⊕d.sub.23

    P.sub.d3 =d.sub.13 ⊕d.sub.22 ⊕d.sub.31 etc.

The error recovery scheme used in the present invention is similar to the horizontal and vertical parity checks described by Gallager, R. G. and Bestsekas, D., Data Communications, Prentice Hall 1984, p 58-59 and the packet recovery method described by Schacham, N. and McKenney, P., Information and Telecommunications Sciences Center SRI International, Menlo Park, Calif., 1990. However, in the present invention, this error recovery system is incorporated into the ATM adaptation layer so that error recovery can be performed along the ATM network. The method is suitable for any type of ATM adaptation layer including, but not limited to, AAL1 and AAL2. It is applicable either on an end-end basis or on a node to node basis.

In the following example, two missing packets are recovered. Packets 1 and 4 along with the vertical and diagonal parities are received and packets 2 and 3 are missing. The receiver reconstructs the two missing packets in a block by forming new parity packets based on the data received as follows. The new vertical and diagonal parities, P_(pr) and P_(dr), are formed. By forming the modulo 2 sum of the received vertical parity P_(p). the new parity P_(pr), as well as the modulo 2 sum of the received diagonal parities P_(d) and the new parity P_(dr), syndromes S_(p) and S_(d) are generated. The missing data is recovered as follows:

    d.sub.21 =d.sub.12 ⊕P.sub.d2, d.sub.31 =d.sub.21 ⊕S.sub.p1

    d.sub.22 =d.sub.31 ⊕S.sub.d3, d.sub.32 =d.sub.22 ⊕S.sub.p2

    d.sub.23 =d.sub.32 ⊕S.sub.d4, d.sub.33 =d.sub.23 ⊕S.sub.p3

    d.sub.24 =d.sub.33 ⊕S.sub.d5, d.sub.34 =d.sub.24 ⊕S.sub.p4

    d.sub.25 =d.sub.34 ⊕S.sub.d6, d.sub.35 =d.sub.25 ⊕S.sub.p5

The recovery of any pair of missing packets can be done in a similar fashion. By using the vertical and diagonal parities, a maximum of two packets in a block can be recovered.

To increase the packet recovering capability, parity packets are added which are linearly independent of the previously constructed parity packets. It is necessary to consider the number of lost packets recovered and the increase in the data rate as part of the process.

The present invention can be used in the general framework of ATM transmission. The present invention can also be applied to other modes of packetized transmission. In one embodiment, the user can segment the data into 44 octet blocks, form the parity and then send these to the ATM adaptation layer. The ATM adaptation layer will then form the cells and transmit them. In this embodiment, any error recovery is end to end only. Alternatively, in another embodiment, the ATM adaptation layer can introduce this facility. That is, the adaptation layer will form the 44 octet blocks, add the 2 bytes before and after the data block, and finally add the 5 byte header to complete the cell. The advantage of this embodiment is that error recovery can be across links so that error accumulation is avoided. By suitably modifying the ATM functions, the facility of either including the error recovery scheme or inhibiting it can be added.

The present invention can be used in a wireless environment for recovering missing data without having to request retransmission. The present invention can also be used in digital speech interpolation systems, as a means of either improving the speech quality or as a means of accommodating more users without increasing the bandwidth if quality improvement is not required. The method of the invention can be included in a software application or VLSI chip form for ATM networks.

The method of the present invention was compared with the International Telecommunications Union--Telecommunications Sector (ITU-T) Reed Solomon Code (RSC). Both methods were useful in the recovery of cells due to random losses or due to burst losses. Further, both methods correct cells from corrupted cells received at the appropriate end point. However, overhead transport for the method of the present invention was only 3% while RSC typically required 15%. In addition, the complexity of implementation of the recovery cells using the instant invention was much smaller since RSC requires a faster decoder processor. Further, the method of the present invention can be- routinely implemented either for end-to-end application (see FIG. 3) or for intermediate switches (see FIG. 4). It can also be applied simultaneously both in the network as well as the end points. Finally, the amount of delay in processing was found to be higher for RSC than the present invention. RSC requires the entire block to be buffered prior to recovery whereas the method of the present invention recovers cells in parallel, thus minimizing delay.

The invention is further illustrated by the following non-limiting examples.

EXAMPLES Example 1 4 Band Sub-Band Encoder for Video Using a 2-D Adaptive Delta Modulation (ADM) Encoder

A 4 band sub-band encoder for video using a 2-D Adaptive Delta Modulation (ADM) encoder as the main digitizer performs as follows. The picture signal is split into four sub-bands using conventional separable 2-D filters. The four bands obtained are LL, LH, HL and the HH. The first three sub-bands contain significant correlation in one or both spatial directions. An ADM (one bit/pixel) is used for encoding these signals after decimation by a factor of 2, while the HH band with little or no correlation in either direction, is encoded using a conventional Pulse Code Modulation (PCM) encoder with 2 bits/pixel. Hence, the average number of bit/pixel is 1.25. Further reduction of up to 0.5 bits/pixel is possible with straightforward data compression methods which are well known in the art.

The predictor used for the ADM is a 2-D predictor that uses correlation data in the horizontal, vertical and the two diagonal directions. Correlation data has been measured for a number of standard pictures such as LENA, KEIL, etc. and averaged for the use in the encoder. With pictures having predominately low frequency content, the reproduced picture quality is excellent. However, with a picture having a large amount of high frequency content the quality is not as good, however it is better than that obtained using other techniques such as Adaptive Block Truncation Coding.

Example 2 Transmission of Data Over a Lossy High Speed Network

The method can be used to transmit data over a lossy high speed network such as an ATM network. To transmit data over an ATM network, cells of 53 bytes are formed, including data and overheads as recommended for an ATM cell. If the network discards cells occasionally due to congestion, or if there are errors in a cell, the video quality may suffer. While many techniques exist for masking errors, the method of the present invention allows correction of errors. The method is an improvement of the vertical/horizontal parity correction method which allows exact recovery of a missing packet. Data with loss rates of up to 1 in 50 cells have been recovered.

Example 3 Cell Loss Recovery Technique

To recover random cell losses, the following procedure can be used:

CASE 1:

    ______________________________________                                         D1        =        d11       d12     d13                                       D2        =        d21       d22     d23                                       D3        =        d31       d32     d33                                       P         =        P1        P2      P3                                        Pj        =        d1j⊕d2j⊕d3j                                         ______________________________________                                    

CASE 2:

    ______________________________________                                         D1     =       d11     d121   d13                                              D2     =               d21    d22   d23                                        D3     =                      d31   d32    d33                                 P'     =       P1'     P2'    P3'   P4'    P5'                                 ______________________________________                                    

Case 1 requires three bits of parity, namely P1, P2 and P3, while Case 2 requires 5 bits of parity. To recover one lost cell, only D1, D2, D3 and P are required to be sent. If D2 is missing, the following recovery technique is applied:

    D2=D1⊕D3⊕P

Accordingly, only three parity bits are required to be sent. Pj' of P' is not required since there are 8 equations involving three Pj' values and five Pj' values. Two of these are redundant. Therefore, only three parity bits are required, P'(p2', p3' and p4'). Thus, if the cell has a size of C, each parity cell is no longer than C.

Formation of parity in this method is flexible as long as linearly independent equations are maintained. See for example, the following Case.3:

CASE 3:

    ______________________________________                                         D1       =       d11      d12    d13                                           D2       =                d21    d22    d23                                    D3       =       d31      d32    d33                                           P"       =       p1"      p2"    p3"    p4"                                    ______________________________________                                    

In this case, the D2 cell is shifted. However, only the first three parity bits (p1", p2", p3") are required. Thus, the parity cell is still the same size as that of the information cells. Errored or missing packets can be detected and recovered prior to receiving a successive block at the receiving side of the ATM network. The step of identifying and recovering errored or missing packets at the receiving side of the ATM preferable creates no more than one packet receiving time delay. 

What is claimed:
 1. A method of recovering lost packets of data transported through an ATM network comprising the steps of:segmenting data into blocks of predetermined size; computing vertical and diagonal parity packets for the blocks; eliminating unnecessary redundant diagonal parity bits from the diagonal parity packet; adding the vertical and diagonal parity packets to the blocks; transmitting the blocks with the vertical and diagonal parity packets to a receiving side of an ATM network; identifying errored or missing packets at a receiving side of an ATM network; and recovering data for errored or missing packets by computing the lost or missing data from the vertical and diagonal parity packets and from other information packets.
 2. The method of claim 1 wherein packet recovery capability is increased by the step of adding parity packets which are linearly independent of previously constructed parity packets.
 3. The method of claim 1 wherein the step of computing vertical and diagonal parity packets for the blocks comprises modulo 2 additions.
 4. The method of claim 3 wherein the step of computing the lost or missing data from the vertical and diagonal parity comprises modulo 2 additions.
 5. The method of claim 1 wherein the vertical and diagonal parity packets are formed in an ATM adaptation layer.
 6. The method of claim 5 wherein the ATM adaptation layer selectively implements the step of recovering data.
 7. The method of claim 6 wherein the detection of errored or missing packets is accomplished along the network itself and does not require that the blocks of data reach their respective destinations.
 8. The method of claim 1 wherein errored or missing packets are detected and recovered or corrected prior to receiving a successive block at the receiving side of an ATM network.
 9. The method of claim 8 wherein the step of identifying and recovering errored or missing packets at a receiving side of an ATM network creates no more than a one packet receiving time delay.
 10. The method of claim 9 wherein errored or missing packets are detected and recovered in parallel.
 11. A method of recovering lost data transmitted through an ATM network comprising the steps of:grouping data into blocks; forming a vertical parity packet by modulo-2 addition of data along block verticals; forming a diagonal parity packet by modulo-2 addition of data along block diagonals; eliminating unnecessary redundant diagonal parity bits from the diagonal parity packet; inserting the vertical and diagonal parity packets into an ATM cell; transmitting the ATM cell through an ATM network; identifying lost or erroneous information in an ATM cell; and recovering the lost or erroneous information in an ATM cell by computing the lost or erroneous information from the vertical and diagonal parity packets.
 12. The method of claim 11 wherein errored or missing packets are detected and recovered or corrected prior to receiving a successive block at the receiving side of an ATM network, and the step of identifying and recovering errored or missing packets at a receiving side of an ATM network creates no more than a one packet receiving time delay.
 13. The method of claim 11 wherein the step of computing vertical and diagonal parity packets for the blocks comprises modulo 2 additions.
 14. The method of claim 13 wherein the step of computing the lost or missing data from the vertical and diagonal parity comprises modulo 2 additions.
 15. The method of claim 11 wherein the vertical and diagonal parity packets are formed in an ATM adaptation layer.
 16. The method of claim 15 wherein the ATM adaptation layer selectively implements the step of recovering data.
 17. The method of claim 16 wherein the detection of errored or missing packets is accomplished along the network itself and does not require that the blocks of data reach their respective destinations.
 18. A method of recovering lost packets of data transported through an ATM network comprising the steps of:grouping data into blocks of predetermined size; computing vertical and diagonal parity packets for the blocks; eliminating unnecessary redundant diagonal parity bits from the diagonal parity packet; adding the vertical and diagonal parity packets to the blocks; transmitting the blocks; identifying errored or missing packets within the blocks; and recovering data for errored or missing packets by computing the lost or missing data from the vertical and diagonal parity packets through modulo 2 addition.
 19. The method of claim 18 wherein the detection of errored or missing packets is accomplished along the network itself and does not require that the blocks of data reach their respective destinations.
 20. The method of claim 18 wherein errored or missing packets are detected and recovered or corrected prior to receiving a successive block at the receiving side of an ATM network, and the step of identifying and recovering errored or missing packets at a receiving side of an ATM network creates no more than a one packet receiving time delay.
 21. A method of recovering lost packets of data transported through an ATM network comprising the steps of:segmenting data into blocks of predetermined size having m horizontal bits; computing vertical and diagonal parity packets for the blocks; eliminating unnecessary redundant diagonal parity bits from the diagonal parity packet to form a parity packet having m bits; adding the parity packets to the blocks; transmitting the blocks with the parity packets to a receiving side of an ATM network; identifying errored or missing packets at a receiving side of an ATM network; and recovering data for errored or missing packets by computing the lost or missing data from the parity packets and from other information packets.
 22. The method of claim 21 wherein errored or missing packets are detected and recovered or corrected prior to receiving a successive block at the receiving side of an ATM network.
 23. The method of claim 22 wherein the step of identifying and recovering errored or missing packets at a receiving side of an ATM network creates no more than a one packet receiving time delay.
 24. The method of claim 21 wherein the packets are formed in an ATM adaptation layer.
 25. The method of claim 24 wherein the ATM adaptation layer selectively implements the step of recovering data.
 26. The method of claim 25, wherein the detection of errored or missing packets is accomplished along the network itself and does not require that the blocks of data reach their respective destinations.
 27. A method of recovering lost data transmitted through an ATM network comprising the steps of:grouping data into blocks of a predetermined size having m horizontal bits; forming a vertical parity packet by modulo-2 addition of data along block verticals; forming a diagonal parity packet by modulo-2 addition of data along block diagonals; eliminating unnecessary redundant diagonal parity bits from the diagonal parity packet to form a parity packet having m bits; inserting the parity packets into an ATM cell; transmitting the ATM cell through an ATM network; identifying lost or erroneous information in an ATM cell; and recovering the lost or erroneous information in an ATM cell by computing the lost or erroneous information from the parity packets.
 28. The method of claim 27 wherein errored or missing packets are detected and recovered or corrected prior to receiving a successive block at the receiving side of an ATM network, and the step of identifying and recovering errored or missing packets at a receiving side of an ATM network creates no more than a one packet receiving time delay.
 29. The method of claim 27 wherein the vertical and diagonal parity packets are formed in an ATM adaptation layer.
 30. The method of claim 29 wherein the ATM adaptation layer selectively implements the step of recovering data.
 31. The method of claim 30 wherein the detection of errored or missing packets is accomplished along the network itself and does not require that the blocks of data reach their respective destinations. 